// 查找target值，返回所在的索引
function binarySearch (arr, target) {
  let left = 0;
  let right = arr.length - 1;

  while (left <= right) {
    const mid = Math.floor((left + right) / 2);
    if (arr[mid] === target) return mid; // 找到目标
    if (arr[mid] < target) left = mid + 1; // 缩小到右半部分
    else right = mid - 1; // 缩小到左半部分
  }
  return -1; // 未找到
}

// 测试用例
const sortedArr = [1, 3, 5, 7, 9, 11, 15, 20];
console.log(binarySearch(sortedArr, 7)); // 输出 3
console.log(binarySearch(sortedArr, 10)); // 输出 -1
